package cineplanet.modelo;

import java.io.Serializable;
import javax.persistence.*;

/**
 * The persistent class for the venta_detalle database table.
 * 
 */
@Entity
@Table(name = "venta_detalle")
@NamedQueries({
		@NamedQuery(name = "VentaDetalle.findAll", query = "SELECT vd FROM VentaDetalle vd"),
		@NamedQuery(name = "VentaDetalle.findByIdVenta", query = "SELECT vd FROM VentaDetalle vd WHERE vd.idVentaDetalle = :idVentaDetalle"),
		@NamedQuery(name = "VentaDetalle.findByIdVenta", query = "SELECT vd FROM VentaDetalle vd WHERE vd.idVenta = :idVenta"),
		@NamedQuery(name = "VentaDetalle.findByCantProducto", query = "SELECT vd FROM VentaDetalle vd WHERE vd.cantProducto = :cantProducto"),
		@NamedQuery(name = "VentaDetalle.findByPrecio", query = "SELECT vd FROM VentaDetalle vd WHERE vd.precio = :precio"),
		@NamedQuery(name = "VentaDetalle.findBySubTotal", query = "SELECT vd FROM VentaDetalle vd WHERE vd.subTotal = :subTotal")

})
public class VentaDetalle implements Serializable {

	private static final long serialVersionUID = 1L;
	@Id
	@Column(name = "idVentaDetalle")
	private Integer idVentaDetalle;
	@Column(name = "cantProducto")
	private int cantProducto;
	@Column(name = "precio")
	private Double precio;
	@Column(name = "subTotal")
	private Double subTotal;

	// bi-directional many-to-one association to Producto
	@JoinColumn(name = "idProducto", referencedColumnName = "idProducto",insertable = true, updatable = true)
	@ManyToOne(optional = false)
	private Producto IdProducto;

	// bi-directional many-to-one association to Venta

	@JoinColumn(name = "idVenta", referencedColumnName = "idVenta", insertable = false, updatable = false)
	@ManyToOne(optional = false)
	private Venta idVenta;

	public VentaDetalle() {
	}

	public int getCantProducto() {
		return this.cantProducto;
	}

	public void setCantProducto(int cantProducto) {
		this.cantProducto = cantProducto;
	}

	public Double getSubTotal() {
		return this.subTotal;
	}

	public void setSubTotal(Double subTotal) {
		this.subTotal = subTotal;
	}

	public void setPrecio(Double precio) {
		this.precio = precio;
	}

	public Double getPrecio() {
		return precio;
	}

	public void setIdVenta(Venta idVenta) {
		this.idVenta = idVenta;
	}

	public Venta getIdVenta() {
		return idVenta;
	}

	public void setIdProducto(Producto idProducto) {
		IdProducto = idProducto;
	}

	public Producto getIdProducto() {
		return IdProducto;
	}

	@Override
	public int hashCode() {
		int hash = 0;
		hash += (idVenta != null ? idVenta.hashCode() : 0);
		return hash;
	}

	@Override
	public boolean equals(Object object) {
		// TODO: Warning - this method won't work in the case the id fields are
		// not set
		if (!(object instanceof VentaDetalle)) {
			return false;
		}
		VentaDetalle other = (VentaDetalle) object;
		if ((this.idVenta == null && other.idVenta != null)
				|| (this.idVenta!= null && !this.idVenta
						.equals(other.idVenta))) {
			return false;
		}
		return true;
	}

	@Override
	public String toString() {
		return "cineplanet.modelo.VentaDetalle[idVenta="	+ idVenta + "]";
	}

	public void setIdVentaDetalle(int idVentaDetalle) {
		this.idVentaDetalle = idVentaDetalle;
	}

	public int getIdVentaDetalle() {
		return idVentaDetalle;
	}

}